from django.shortcuts import render
from django.views import View
from booktest.models import BookInfo


# 在使用jinja2模板引擎时,在模板文件中没有多行注释,一定要注意,只有{# 单行注释 #}

# /loginview/
class LoginView(View):

    def get(self, request):
        """
        return render(request='本次请求对象',
                      template_name='指定要加载的模板文件名',
                      context='上下文,要传入模型中进行填充的真实数据,此参数可以传,也可以不传,但必须是字典')
        """
        book = BookInfo.objects.get(id=1)

        # /Users/chao/Desktop/code/demo3/templates/index.html
        data = {'city': book.btitle}  # 要传入模板进行渲染的数据
        return render(request, 'index.html', context=data)
        # return render(request, 'index.html')



# BookInfo.objects.order_by('bread', 'bcomment')

# /index/
class IndexView(View):

    def get(self, request):
        # 演示模板渲染语法
        data = {
            'name': '超哥',
            'alist': [2, 'a', 3, 1],
            'adict': {'age': 18, 'sex': 1},
            'alist1': [],
            'a': 21,
            'html_str': '<a href="http://www.baidu.com">百度一下</a>'
        }
        # render函数内部作什么什么?
        # 1. open r 打开了index.html  将index.html中的所内容读取出来
        # 2. 渲染(将context参数中的大字典key对应的值在 匹配上 html中 {{ }}中的变量)
        # return render(request, 'index.html', context=data)
        return render(request, 'index_jinja2.html', context=data)



class SonView(View):

    def get(self, request):

        return render(request, 'son.html', context=None)



